package net.zoneland.knowledge.enums;

import com.branchitech.utils.enums.EnumExtend;
import com.branchitech.utils.enums.EnumUtils;

/**
 * 三会一课列玖举.
 * @author zx
 */
public enum SanHuiYiKeColumnEnum implements EnumExtend {

    /**
     * excel index 0.
     */
    COLUMN_INDEX_ZERO(0, "1792","excel index 0"),

    /**
     * excel index 1.
     */
    COLUMN_INDEX_NINE (1, "2816", "excel index 1"),

    /**
     * excel index 7.
     */
    COLUMN_INDEX_SIX(2, "6912", "excel index 7"),

    /**
     * excel index 3.
     */
    COLUMN_INDEX_TWO(3, "6912", "excel index 3"),

    /**
     * excel index 9.
     */
    COLUMN_INDEX_EIGHT (4, "2816", "excel index 9"),

    /**
     * excel index5.
     */
    COLUMN_INDEX_FOUR (5, "4608", "excel index 5"),

    /**
     * excel index 4.
     */
    COLUMN_INDEX_THREE(6, "2816", "excel index 4"),

    /**
     * excel index 2.
     */
    COLUMN_INDEX_ONE(7, "18152","excel index 2"),

    /**
     * excel index 6.
     */
    COLUMN_INDEX_FIVE(8, "2816", "excel index 6"),

    /**
     * excel index 8.
     */
    COLUMN_INDEX_SEVEN(9, "3840", "excel index 8"),

    /**
     * excel index 10.
     */
    COLUMN_INDEX_TEN (10, "2816", "excel index 10");

    /**
     * 整数key.
     */
    private final transient int intKey;

    /**
     * 字符串key.
     */
    private final transient String stringKey;

    /**
     * 显示标签.
     */
    private final transient String label;

    /**
     * @param intKey    整数key
     * @param stringKey 字符串key
     * @param label     标签
     */
    SanHuiYiKeColumnEnum(final int intKey, final String stringKey, final String label) {
        this.intKey = intKey;
        this.stringKey = stringKey;
        this.label = label;
    }

    /**
     * 通过枚举字符串关键字获取枚举.
     *
     * @param key 枚举字符串关键字
     * @return 枚举字符串关键字对应的枚举常量实例
     */
    public static SanHuiYiKeColumnEnum getByStringKey(final String key) {
        return EnumUtils.getByStringKey(SanHuiYiKeColumnEnum.class, key);
    }

    /**
     * 通过枚举关键字获取枚举.
     *
     * @param index 枚举关键字
     * @return 枚举字符串关键字对应的枚举常量实例
     */
    public static SanHuiYiKeColumnEnum getByIntKey(final int index) {
        return EnumUtils.getByIntKey(SanHuiYiKeColumnEnum.class, index);
    }

    @Override
    public int getIntKey() {
        return intKey;
    }

    @Override
    public String getStringKey() {
        return stringKey;
    }

    @Override
    public String getLabel() {
        return label;
    }
}
